package com.xc.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.util.Date;
import java.io.Serializable;
import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 架子表
 * </p>
 *
 * @author author
 * @since 2024-04-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("wh_shelf")
public class WhShelf implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 编码
     */
    private String code;

    /**
     * 名称
     */
    private String name;

    /**
     * 所属库区ID
     */
    private Long areaId;

    /**
     * 货架类型id
     */
    private Long type;

    /**
     * 状态
     */
    private Integer status;

    private Date createDate;

    private String createUserId;

    private String updateUserId;

    private Date updateDate;

    private Long delFlag;

    private String description;

    /**
     * 版本号
     */
    private Long ver;

    /**
     * 满载货位数量
     */
    private Integer fullNum;

    /**
     * 货位总数量
     */
    private Integer totalNum;

    /**
     * 货架存放顺序
     */
    private Integer inOrder;

    /**
     * 货架取出顺序
     */
    private Integer outOrder;

    /**
     * x坐标
     */
    private Integer x;

    /**
     * y坐标
     */
    private Integer y;

    /**
     * z坐标
     */
    private Integer z;

    /**
     * 角度
     */
    private Integer angle;

    @TableField(
            exist = false
    )
    private String areaName;
    @TableField(
            exist = false
    )
    private String warehouseId;
    @TableField(
            exist = false
    )
    private String warehouseName;
    @TableField(
            exist = false
    )
    private String typeName;
    @TableField(
            exist = false
    )
    private Spec spec;
    @TableField(
            exist = false
    )
    private List<WhShelfUnits> shelfUnits;
    @TableField(
            exist = false
    )
    private WhShelfType whShelfType;
    @TableField(
            exist = false
    )
    private boolean isFull;

}
